The present invention relates generally to digital error detection/correction techniques and rate determination techniques, and in particular to data error protection based on the perceptual significance of data symbols.
In some communication systems employing digital coding techniques, error detection relies on window error detectors (WEDs). A WED takes a single window (i.e., subset) of bits in a frame and declares a frame error if the WED detects an error in those bits. Generally, the WED works in conjunction with a decoder, such as a Viterbi decoder, to generate a soft reliability value for only the decoded information bits in the window. Bits with large soft values are considered reliable, and those with small or zero soft values are considered unreliable. The WED declares a frame error if the minimum reliability within the window is less than a threshold. All bits within the window are treated similarly.
In communication systems carrying voice, multiple errors for bits outside the window are likely to cause a perceptual degradation in speech quality and warrant some form of error concealment, but these errors may be missed by a conventional WED. Moreover, the WED is limited in the type of forward error correction (FEC) coding used (convolutional code) and the method of soft value generation. The WED treats all of the window bits equally when determining the quality of the decoded frame and when invoking an error concealment algorithm. Treating the window bits equally can limit the effectiveness of error concealment, and can also limit the method of estimating the recent channel conditions, especially if a sequence of speech frames includes frames having different coding rates, such as in communication systems employing adaptive multi-rate (AMR) GSM.
Some digital communication systems use multiple coding rates to transport information. In such systems, the coding rate should be accurately determined or selected in order to ensure reliable, relatively error-free communication. For rate determination, some known schemes rely on (1) received soft reliability values, (2) Viterbi decoder metric values during the decoding process (e.g., total metric, Q-bits) (3) decoded information bits (e.g., CRC check, symbol error rate), or combinations of these (e.g., symbol matching score). Although these known rate determination methods produce acceptable results in some circumstances, there is an opportunity for improving their accuracy and reliability. Accordingly, there is a need for an improved method and apparatus for detecting errors in digitally transmitted information and for accurately determining and/or selecting channel coding rates.